/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Oscar
 */
public class NuevoMapa {
    private int[][] mapa; //1 para obstaculo, 0 camino libre.
    //Dirección en la cual está el robot orientado actualmente. 1 para este; 2: norte; 3: oeste y 4:sur.
    
    public NuevoMapa(int size){
        mapa = new int[size+2][size+2];
    }
    
    public void setPlace(int fila, int col, int value){
        mapa[fila+1][col+1] = value;
    }
    
    public boolean libreEnfrente(int fila, int col, int dir){
        switch (dir){
            case 1:
                return (mapa[fila+1][col+2]==0);
            case 2:
                return (mapa[fila][col+1]==0);
            case 3:
                return (mapa[fila+1][col]==0);
            case 4:
                return (mapa[fila+2][col+1]==0);
            default:
                System.out.println("Error: Caso no esperado.");
                return false;
        }
    }
    
    public boolean libreDerecha(int fila, int col, int dir){
        switch (dir){
            case 1:
                return (mapa[fila+2][col+1]==0);
            case 2:
                return (mapa[fila+1][col+2]==0);
            case 3:
                return (mapa[fila][col+1]==0);
            case 4:
                return (mapa[fila+1][col]==0);
            default:
                System.out.println("Error: Caso no esperado.");
                return false;
        }
    }
    
    public boolean libreIzquierda(int fila, int col, int dir){
        switch (dir){
            case 1:
                return (mapa[fila][col+1]==0);
            case 2:
                return (mapa[fila+1][col]==0);
            case 3:
                return (mapa[fila+2][col+1]==0);
            case 4:
                return (mapa[fila+1][col+2]==0);
            default:
                System.out.println("Error: Caso no esperado.");
                return false;
        }
    }
    
}
